// 封装请求函数（推荐放到单独的 http.js 文件中）
export default function request(url, method = 'GET', data = {}, header = {}) {
	return new Promise((resolve, reject) => {
		uni.request({
			url: 'http://192.168.6.98:3000/v1' + url, // 建议配置基础URL
			method: method,
			data: data,
			header: {
				'Content-Type': 'application/json', // 默认JSON格式
				'Authorization': uni.getStorageSync('token') || '', // 自动携带token
				...header // 可覆盖默认header
			},
			success: (res) => {
				// HTTP状态码判断
				if (res.statusCode >= 200 && res.statusCode < 300) {
					resolve(res.data)
				} else {
					// 服务端返回的错误（如业务逻辑错误）
					reject(res.data?.message || `请求失败：${res.statusCode}`)
				}
			},
			fail: (err) => {
				// 网络错误或请求未发出
				reject('网络异常：' + err.errMsg)
			},
			complete: () => {
				// 可在此处隐藏loading等
			}
		})
	})
}

// 也可以添加其他辅助函数
export const get = (url, data = {}, header = {}) => {
	return request(url, 'GET', data, header)
}

export const post = (url, data = {}, header = {}) => {
	return request(url, 'POST', data, header)
}

export const put = (url, data = {}, header = {}) => {
	return request(url, 'PUT', data, header)
}

export const del = (url, data = {}, header = {}) => {
	return request(url, 'DELETE', data, header)
}